public class test {
    //逆置链表：1.先将第一个结点的next置为null 2.后面的元素进行头插（得有一个用于头插，一个用于记录下一次头插的位置）
    public ListNode reverseList(ListNode head) {
        //空链表or一个元素的链表
        if(head == null || head.next == null) {
            return head;
        }
        ListNode cur = head.next;
        ListNode curNext = cur.next;
        //不能将head置为null，这样逆转后最后一个元素没了
        head.next = null;

        while(cur != null) {
            curNext = cur.next;
            //头插
            cur.next = head;
            head = cur;

            cur = curNext;
        }
        return head;
    }
}
